/**
 * 严肃声明：
 * 开源版本请务必保留此注释头信息，若删除我方将保留所有法律责任追究！
 * 本系统已申请软件著作权，受国家版权局知识产权以及国家计算机软件著作权保护！
 * 可正常分享和学习源码，不得用于违法犯罪活动，违者必究！
 * Copyright (c) 2019-2020 十三 all rights reserved.
 * 版权所有，侵权必究！
 */
package ltd.newbee.mall.dao;

import ltd.newbee.mall.entity.Carousel;
import ltd.newbee.mall.util.PageQueryUtil;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 首页轮播图配置
 */
public interface CarouselMapper {
    /**
     * 根据id删除轮播图
     * @param carouselId
     * @return
     */
    int deleteByPrimaryKey(Integer carouselId);

    /**
     * 插入轮播图
     * @param record
     * @return
     */
    int insert(Carousel record);

    /**
     * 插入轮播图(去除空字符串，其插入数据不允许为空)
     * @param record
     * @return
     */
    int insertSelective(Carousel record);

    /**
     * 根据id获取轮播图
     * @param carouselId
     * @return
     */
    Carousel selectByPrimaryKey(Integer carouselId);

    /**
     * 根据id修改轮播图(不可以为空)
     * @param record 用户id
     * @return
     */
    int updateByPrimaryKeySelective(Carousel record);
    /**
     * 根据id修改轮播图(可以为空)
     * @param record 用户id
     * @return
     */
    int updateByPrimaryKey(Carousel record);

    /**
     * 根据分页查询参数获取指定页数的轮播图
     * @param pageUtil
     * @return
     */
    List<Carousel> findCarouselList(PageQueryUtil pageUtil);

    /**
     * 获取所有轮播图
     * @param pageUtil
     * @return
     */
    int getTotalCarousels(PageQueryUtil pageUtil);

    /**
     * 删除指定id的轮播图
     * @param ids
     * @return
     */
    int deleteBatch(Integer[] ids);

    /**
     * 获取指定条数的轮播图
     * @param number
     * @return
     */
    List<Carousel> findCarouselsByNum(@Param("number") int number);
}